Community-based recommendation engine

ABSTRACT

A community-based recommendation engine is provided. In one example embodiment, a system to provide community-based recommendation engine comprises a recommendation detector and a decision module. The recommendation detector is configured to receive, at a viewer&#39;s system, a recommendation for a content item from a contact of a viewer. The decision module may be configured to determine an action to be performed at the viewer&#39;s system, based on the recommendation and on one or more rules, accept the recommendation as an instruction to perform the action, and initiate the action at the viewer&#39;s system.

RELATED APPLICATIONS

This patent application is a Continuation of U.S. patent applicationSer. No. 12/283,426, filed Sep. 11, 2008, which claims the benefit ofpriority, under 35 Section 119(e), to U.S. Provisional PatentApplication Ser. No. 61/190,224, filed on Aug. 26, 2008, whichapplication are incorporated herein by reference in their entirety.

TECHNICAL FIELD

This application relates to the fields of media and entertainment andspecifically to community-based recommendation engine.

BACKGROUND

The approaches described in this section could be pursued, but are notnecessarily approaches that have been previously conceived or pursued.Therefore, unless otherwise indicated herein, the approaches describedin this section are not prior art to the claims in this application andare not admitted to be prior art by inclusion in this section.

In the field of media and entertainment, there is a new generation ofviewers that has a high expectation of the level of entertainment to beenjoyed from various sources of content, such as, e.g., televisionprogramming, the Internet, and locally stored content. These viewers mayexpect more choice, more flexibility, as well as the ability to interactand participate more with the viewable content.

On the other hand, the sheer volume of content that is available forviewing is exploding dramatically. Just the number of televisionchannels that are now available is almost unmanageable. The amount ofcontent that is available via free video or video on demand service isalso increasing. It is now possible to view content over a wider span oftime by employing time shifting technologies, such as Personal VideoRecording (PVR) (sometimes referred to as DVR or Digital VideoRecording). This explosion of content may be described as a paradox ofchoice, where the excess of choices causes a viewer's inability tochoose.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments are illustrated by way of example and not limitation in thefigures of the accompanying drawings, in which like references indicatesimilar elements and in which:

FIG. 1 illustrates an architecture that includes community-basedrecommendation engine, in accordance with an example embodiment;

FIG. 2 illustrates an environment within which an examplecommunity-based recommendation engine may be implemented, in accordancewith an example embodiment;

FIG. 3 is a block diagram illustrating a system to provide acommunity-based recommendation engine, in accordance with an exampleembodiment, to navigate viewable content;

FIG. 4 is a flow chart illustrating a method for processingrecommendations, in accordance with an example embodiment;

FIGS. 5-10 show presentations of a multi-panel media interface utilizedprovided with a community-based recommendation engine, in accordancewith an example embodiment; and

FIG. 11 illustrates a diagrammatic representation of a machine in theexample form of a computer system within which a set of instructions,for causing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

DETAILED DESCRIPTION

A next generation unified media interface is provided, designed topermit users to quickly and easily access content. The unified interfacemay be part of a community-focused media viewing environment thatenables users to open up their virtual living room to others and thusexpand their media universe. A unified media interface, also referred toa multi-panel media interface, is a menu structure that comprises anumber of menu panels that are made accessible to a user as the userexplores various menu options. A system to provide a community-focusedmedia viewing environment may include a so-called community-basedrecommendation engine that may reside at a viewer's system, e.g., at adevice in communication with a television (e.g., a set top box) or at adevice integrated into a television. A set-top box (STB) is a devicethat connects to a television and an external source of signal, turningthe signal into content which can then be displayed on the televisionscreen. A set-top box may be configured to receive content from sourcessuch as, e.g., an Ethernet cable, a satellite dish, a coaxial cable, atelephone line (including digital subscriber line (DSL) connections),Broadband over Power Line, as well as very high frequency (VHF) or ultrahigh frequency (UHF) antenna. While example embodiments are beingdescribed with reference to a set top box, the method and systemdescribed herein may be implemented within other devices capable ofcommunicating with a television display device and with remote systemsconnected to a network.

A community-based recommendation engine may be configured to generaterecommendations with respect to viewable programs available to users(e.g., television programs or previously recorded and locally storedcontent), send the recommendations to other viewers (by sendingrecommendations to the other viewers' set top boxes), and to cause therecommendations to trigger an action to be performed at the otherviewers' set top boxes in response to the recommendations. For example,a viewer may wish to send a recommendation to a friend with respect to aparticular television show. When the friend's set top box receives therecommendation, the friend's set top box may take actions to schedulethe recording of the recommended content. The recommendation engineprovided at one set top box may thus influence the behavior of anotherset top box.

As is described in more detail below, a recommendation engine may beprovided with a media interface configured to include some of thefeatures of on-line social networking. For example, a user may establishand maintain a network of contacts—“buddies”—and be able, e.g., toaccess their profiles, receive their recommendation and assign a levelof trust to be associated with a particular buddy. A trust level may beexpressed by a value, e.g., a numerical value such as a value between 1and 4, or a string such as “ALL,” “SOME,” or “NONE.” Based on theestablished trust level of a buddy, a user may permit recommendationsfrom that buddy to influence behavior of the user's set top box.

Example architecture 100 that includes a community-based recommendationengine is shown in FIG. 1. The architecture 100 includes a set top box110 configured to receive content and to be in communication with anentertainment display device 120 and a control device 130. The set-topbox 110 may be configured to include a community-based recommendationengine 112 to permit sharing of recommendations among buddies withrespect to viewable content. Content, in this context, could mean any orall of video, audio, Internet web pages, interactive games, or otherpossibilities. As shown in FIG. 1, the set-top box 110 has access tosignal sources 140, including broadcast programming 142, video on demandprograms 144, as well as to local content 146 and Internet content 148.A community-based recommendation engine may be utilized beneficially inthe context of a network environment, where set top boxes may beconfigured to be in communication with a server, as well as with eachother, as shown in FIG. 2.

FIG. 2 illustrates a network environment 200 within which an examplecommunity-based recommendation engine may be implemented. Theenvironment 100 includes a set top box 210 and a set top box 220configured to receive content from content sources 250 and to be incommunication with a server system 240 via a communications network 230.The communications network 230 may be a public network (e.g., theInternet, a wireless network, etc.) or a private network (e.g., a localarea network (LAN), a wide area network (WAN), Intranet, etc.). Theserver 240 may be configured to collect rating information from users,to aggregate the rating information, and to provide the aggregatedratings to users. In some embodiments, the method and system describedherein may be performed without the use of a server, in a peer-to-peerfashion. The server 240 may also be configured to process communicationsbetween the set top box 210 and the set top box 220. The set-top boxes210 and 220 may be configured to include community-based recommendationengines 212 and 222 respectively to permit generating, receiving,processing, and sharing of recommendations. Recommendations of contentmay be received or accessed at a set top box in various manners.

Example approaches of obtaining recommendations may include a so-calledinteractive method, a passive method, and an active method. When theinteractive method is used, which may process “impulse” recommendationsfrom users, a buddy of a user sends the user a recommendation for aviewable content. The content maybe a television show that the buddy iswatching live or a show that will air in the future. In response toreceiving the recommendation, the user may be presented with a pop-upmessage (e.g., as shown in FIG. 8 and described further below). Aso-called passive method may be driven by the rating of the recommendedcontent and the trust level granted to the sender of the recommendation.This recommendation method may be initiated when a user rates a piece ofcontent, thus triggering a recommendation message to be sent to all ofthe people in their buddy list. Upon receipt of this recommendationmessage, the recommendation engine residing in the set top box of therecipient processes the recording behavior of the set top box based onthe trust level of the sender buddy. This method is illustrated in FIG.4 and described further below. A so-called active method is where thereceiving of recommendations is initiated by the user when the useractively browses content designated by the community-basedrecommendation engine as the highest rated content. The designation ofthe highest rated content may be a result of ratings by the user'sbuddies, as well as the result of the aggregated rating collected fromthe global community. The active method may use a ratings aggregatorthat populates a “What's Hot” menu panel in the menu structure thatdisplays the “Highest Rated” and the “Most Viewed” content (as shown inFIGS. 9 and 10 and described below). In one embodiment, one or morebuddies of a user may be aggregated into groups. A rating of a contentitem by such group my be generated as a cumulative rating by all membersof the group. A user can navigate the list of popular content and chooseto watch or record items in the list. An example system to providecommunity-based recommendation engine may be described with reference toFIG. 3.

FIG. 3 illustrates an example community-based recommendation engine 300that may be provided at a user's set top box. The community-basedrecommendation engine 300 includes a recommendation detector 310, acontact evaluation module 320, and a decision module 330. Therecommendation detector 310 may be configured to detect a recommendationthat originated from another set top box, e.g., a recommendation sent bya viewer who is a buddy of the user. In one example embodiment anoperation of rating of a content item by a user triggers the sending ofan associated recommendation from the user's set top box to all of thebuddies of the user. The rating information may also be sent to theserver 240 of FIG. 2 for aggregation. The aggregated ratings may then beaccessed by user via a multi-panel media interface 350, as illustratedin FIGS. 9 and 10.

The decision module 330 may be configured to examine the detectedrecommendation and to determine an action to be performed at the user'sset top box (or at some other component of the user's system), based onthe information associated with the recommendation and based on one ormore rules. As mentioned above, a user may define groups consisting ofone or more buddies and define rules based on ratings by individualbuddies, as well as by the collective rating by a group. Example rulesare shown below.

If Buddy 1 gives 5 stars to content, record it

If Buddy 2 and Buddy 3 give the content 4 starts or above, record it

If any 4 of my Buddies give the content 4 stars or above, record it

If Group 1 gives the content 4 stars or above, record it

Returning to FIG. 3, the contact evaluation module 320 may be configuredto evaluate the profile of the buddy who sent the recommendation. Aprofile may be maintained by the multi-panel media interface 350 thatmay be part of the recommendation engine 300 or a stand alone feature. Aprofile of a user may include various information about buddies,including a so-called “trust level” assigned by the user to that buddy.A trust level for a buddy may be set to a level between “NONE” and“ALL,” the “NONE” level indicating the lowest level of trust and the“ALL” level indicating the highest. In one example embodiment, thedecision detector 330 may be configured to determine whether the buddy'strust level that is included in the buddy's profile warrants therecording of the recommended content by the user's set top box.

In one example embodiment, the trust level of a buddy may be evaluatedin conjunction with the star rating of the recommended content in orderto determine whether to record the recommended content or take someother action, e.g., display a popup notification, sound an alarm(chime), set up a reminder, etc. For example, the content that has thehighest rating (e.g., five stars) may be recorded by the user's set topbox in response to the recommendation from a buddy, even if the trustlevel of the buddy is not at the highest level. As shown in FIG. 3, thecommunity-based recommendation engine 300 may include a rating detector340 to determine the star rating of the recommended content.

The multi-panel media interface 350 may comprise hierarchicallystructured menu panels and may be activated, e.g., in response to acommand received by the set top box 110 from the remote control device130 of FIG. 1. When the multi-panel media interface 350 is activated, auser is presented with a main menu that appears at the left-hand marginof a display area on the display device 120 of FIG. 1. The multi-panelmedia interface 350 may be configured to permit a user of the set topbox create buddy profiles, to rate content, to send associatedrecommendations to buddies utilizing the communications module 360, aswell as to invite buddies to watch a particular broadcast program.Example operations performed by the community-based recommendationengine 300 may be described with reference to FIG. 4.

FIG. 4 illustrates an example method 400 of receiving and processing arecommendation from a buddy with respect to viewable content. The method400 may be performed in the context of television entertainment. Themethod 400 may be performed by processing logic that may comprisehardware (e.g., dedicated logic, programmable logic, microcode, etc.),software (such as run on a general purpose computer system or adedicated machine), or a combination of both. It will be noted, that, inone example embodiment, the processing logic may reside in any of themodules shown in FIG. 3.

As shown in FIG. 4, the method 400 commences with operation 410, wherethe recommendation detector 310 of FIG. 3 detects a recommendationreceived from a contact (e.g., from one of a user's buddies). Thesending of the recommendation from a set top box associated with thebuddy may be triggered by a content rating operation requested by thebuddy and performed at the buddy's set top box. The recommendation maybe associated with a particular broadcast program or with a previouslyrecorded content item, e.g., a recommendation with respect to a certainmovie that was rated by the sending buddy with five stars. As mentionedabove, the community-based recommendation engine may be used to permitone set top box to influence behavior of another set top box by means ofsending a recommendation that can be treated by the recipient set topbox as an instruction to record recommended content. An associatedmulti-panel media interface may be configured to provide means by whichusers may control the extent to which their set top box is open to beinginfluenced by other users' recommendations. In one embodiment, amulti-panel media interface may be configured to provide socialnetworking functionality where users may create their profiles and sharetheir profiles with other users. A collection of profiles of other usersmay be referred to as the user's network of contacts or buddies. Asmentioned above, each buddy may be assigned a certain level of trustthat may determined whether a recommendation from that buddy shouldtrigger a recording process.

At operation 420, the decision module 330 determined an appropriateaction to be performed at the viewer's system, based on therecommendation and on one or more rules available to the viewer'ssystem. A rule, in one example embodiment may dictate that arecommendation from a buddy that has been assigned by the viewer thehighest trust level value, is to trigger a recording process for therecommended content. For example, as shown in FIG. 4, at operation 422,the contact evaluation module 320 of FIG. 3 accesses the profile of thebuddy who sent the recommendation and determines the trust level for thesender. As will be further discussed with reference to FIG. 7, a trustlevel may indicate that all programs recommended by that buddy are to bescheduled for recording at the recipient's set top box. The decisionmodule 330 of FIG. 3 may thus make a determination that the recommendedcontent should be recorded once the contact evaluation module 320detects that the buddy who sent the recommendation has the highestpossible trust level. In some embodiments, a lower trust level mayindicate that only those recommended programs that have a four or a fivestar rating are to be scheduled for recording. At operation 424, therating detector 330 of FIG. 3 determines the star rating of therecommended content.

At operation 430, the decision module 330 initiates the determinedaction at the viewer's system. For example, where the action, based ondetermined trust level of the buddy and the rating of the recommendedcontent, is a recording process, the decision module 330 may attempt toresolve any scheduling conflicts (operation 432) and, if successful,initiate the recording process at operation 434.

As mentioned above, an example community-based recommendation engine maybe utilized in conjunction with a multi-panel menu structure provided bythe multi-panel media interface 350. Example visual presentations ofvarious features of the community-based recommendation engine 300accessible via the multi panel media interface 350 are provided in FIGS.5-10. An example presentation interface showing a buddy list isillustrated in FIG. 5. As shown in FIG. 5, a presentation area 500comprises area 510 to display a menu panel that has “BUDDY LIST” as oneof the selectable options. A preview of the list of buddies that are online and available is presented in area 520 in a semi-transparentmanner. In one embodiment, the menu panels are presented in addition tothe main content presented in area 530. The main content may be atelevision program, previously recorded content, an Internet web page, alocally stored digital photo, etc.

As mentioned above and as illustrated in FIG. 5, community focused mediaviewing environment allows people to connect and share their mediaexperience. This includes sending and receiving recommendations withrespect to television programs and previously recorded content, seeingwhat the user's buddies are watching the most, rating content, accessingrecommended content, joining content driven groups, as well asmessaging. In one example embodiment, as mentioned above, a user maynavigate horizontally between menu panels by engaging the right and leftdirectional arrow keys on a remote control device. A menu item may beassociated with a specific menu panel that expands and retracts in linewith the depth of the available menu options or based on additionalinformation. The up and down arrow keys may be used to vertically scrolland navigate the content within the panel.

FIG. 6 illustrates a presentation interface provided in a presentationarea 500 when a user selects a menu option associated with a particularbuddy. In this example, the viewer has chosen to select the menu itemprovided in area 610 and titled “pennysdad” (e.g., by pressing the rightarrow key on the remote control device). Once a specific buddy has beenselected, the viewer can then select one of the action panel itemsdisplayed in the hover focus in area 620. Example choices presented inthe action panel are listed below.

Profile—displays a buddy's specific profile

Trust Level—controls permission settings

Activity Stream—displays their recent activity

Ratings—displays their specific ratings

Recordings—displays their specific recordings

Buddies—displays their buddies

Delete—deletes them from your buddy list

Each user can configure the amount of information they permit to bedisplayed to other users. Example profile information is shown in area630. The example profile information for “pennysdad” may include a photoof “pennysdad,” the favorite content items of “pennysdad,” and a list oflatest activity. Also shown in the area 630 is a trust level panel.Example trust panel is described below with reference to FIG. 7.

FIG. 7 illustrates a presentation interface provided in a presentationarea 600 for managing permission settings for a buddy, including settingthe trust level for the buddy. For example, if the trust level isextremely high for a particular buddy, the user may set the trust levelto record “All PVR recommendations.” Alternatively, if the trust levelis very low, the user may set the permission level not to recordanything from this buddy. Example trust levels are listed below.

ALL—trust level high, record all PVR recommendations

SOME—record everything 4 stars or more

LITTLE—record everything with 5 stars

NONE—do not record anything from this buddy.

Example trust levels are also shown in area 710. The trust panel shownin the area 710 has labels denoted by numbers 1, 2, 3, and 4. Thesenumbers correspond to “NONE,” “SOME,” “LITTLE,” and “ALL” trust levelsrespectively.

FIG. 8 illustrates an example recommendation notification. Shown in thepresentation area 800 is the main content and an overlappingnotification in area 810. As shown in area 810, the user is presentedwith options to watch the recommended content now or to save it forlater viewing.

FIG. 9 illustrates an example presentation interface 900 to permit auser to access information regarding top-rated content. The content thatreceived the highest aggregated star ratings are shown in area 910. FIG.10 illustrates an example presentation interface 1000, including aselection by the user of a content item “Bicycle Race” in area 1010.When a particular top-rated content item is in focus, an action panelmay be presented together with additional information about the selectedcontent item.

FIG. 11 shows a diagrammatic representation of machine in the exampleform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The example computer system 1100 includes a processor 1102 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 1104 and a static memory 1106, which communicatewith each other via a bus 1108. The computer system 1100 may furtherinclude a video display unit 1110 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)). The computer system 1100 also includes analphanumeric input device 1112 (e.g., a real or virtual keyboard), aviewer interface (UI) navigation device 1114 (e.g., a remote control ora mouse), a disk drive unit 1116, a signal generation device 1118 (e.g.,a speaker) and a network interface device 1120.

The disk drive unit 1116 includes a machine-readable medium 1122 onwhich is stored one or more sets of instructions and data structures(e.g., software 1124) embodying or utilized by any one or more of themethodologies or functions described herein. The software 1124 may alsoreside, completely or at least partially, within the main memory 1104and/or within the processor 1102 during execution thereof by thecomputer system 1100, the main memory 1104 and the processor 1102 alsoconstituting machine-readable media.

The software 1124 may further be transmitted or received over a network1126 via the network interface device 1120 utilizing any one of a numberof well-known transfer protocols (e.g., HTTP).

While the machine-readable medium 1122 (also referred to as acomputer-readable medium) is shown in an example embodiment to be asingle medium, the term “machine-readable medium” may be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storethe one or more sets of instructions. The term “machine-readable medium”shall also be taken to include any medium (e.g., FLASH memory media)that is capable of storing, encoding or carrying a set of instructionsfor execution by the machine and that cause the machine to perform anyone or more of the methodologies of the present invention, or that iscapable of storing, encoding or carrying data structures utilized by orassociated with such a set of instructions. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic media.

The embodiments described herein may be implemented in an operatingenvironment comprising software installed on a computer, in hardware, orin a combination of software and hardware.

Thus, a system to generate and process recommendations with respect tocontent available for viewing (e.g., satellite content, cable content,mobile telephony content, IPTV content, and the like) and to manage aviewer's choice have been described. In the description above, forpurposes of explanation, numerous specific details have been set forthin order to provide a thorough understanding of one example embodiment.It will be evident, however, to one skilled in the art that the presentinvention may be practiced without these specific details. It is to benoted that the delivery mechanism for the content for viewing may be viaa satellite, cable, terrestrial broadcast, Internet, local storage, alocal network, mobile telephony, or any other content distributionnetwork. Accordingly, the viewing device need not be a television setbut may be any display unit of any device (including portable devices).It will be noted that any references to television content will beunderstood to include any content available for viewing on anentertainment display device, such as a television screen. Such contentmay include television programming, as well as locally stored content,such as stored video files or digital images, as well as contentaccessible via the Internet. It will be noted that the term viewer maybe understood broadly as any viewer of the system to navigate televisioncontent.

1. A computer-implemented method comprising: receiving, at a viewer'ssystem, a recommendation for a content item from a contact of a viewer;determining an action to be performed at the viewer's system, based onthe recommendation and on one or more rules; accepting therecommendation as an instruction to perform an action at the viewer'ssystem; and initiating the action at the viewer's system.
 2. The methodof claim 1, wherein: the determining of the action to be performed atthe viewer's system comprises: determining a value indicating a trustlevel assigned to the contact by the viewer, and accepting therecommendation as an instruction to record the content item based on thedetermined value indicating the trust level; and the initiating of theaction at the viewer's system comprises initiating a recording processfor the content item.
 3. The method of claim 2, comprising determining astar rating associated with the content item, wherein the accepting ofthe recommendation as an instruction to record the content item is basedon the determined star rating.
 4. The method of claim 1, comprisingproviding a multi-panel media interface to maintain a profile of thecontact, the profile including trust level information.
 5. The method ofclaim 1, wherein the initiating of the action comprises displaying areal time notification presented on a display device associated with theviewer's system.
 6. The method of claim 5, wherein the display deviceassociated with the viewer's system is a television.
 7. The method ofclaim 1, further comprising: receiving, at the viewer's system, aninstruction to rate a viewable program; receiving, at the viewer'ssystem, an instruction to send a recommendation of the viewable programto a set top box associated with the contact of the viewer.
 8. Themethod of claim 7, wherein the instruction to rate the viewable programis in response to the viewer engaging one or more keys on a remotecontrol device.
 9. The method of claim 1, wherein determining of theaction to be performed at the viewer's system comprises: determiningdata associated with the recommendation; and applying one or more rulesto the data associated with the recommendation.
 10. A system comprising:a recommendation detector to receive, at a viewer's system, arecommendation for a content item from a contact of a viewer; a decisionmodule to: determine an action to be performed at the viewer's system,based on the recommendation and on one or more rules, accept therecommendation as an instruction to perform the action, and initiate theaction at the viewer's system.
 11. The system of claim 10, comprising acontact evaluation module to determine a value indicating a trust levelassigned to the contact by the viewer, wherein the decision module isto: accept the recommendation as an instruction to record the contentitem based on the determined value indicating the trust level, andinitiate a recording process for the content item.
 12. The system ofclaim 11, comprising a rating detector to determine a star ratingassociated with the content item, wherein the decision module is toaccept the recommendation as an instruction to record the content itembased on the determined star rating.
 13. The system of claim 10, whereinthe recommendation detector is to receive the recommendation from thecontact's set top box.
 14. The system of claim 10, comprising amulti-panel media interface to maintain a profile of the contact, theprofile including a trust level information, the trust levelinformation.
 15. The system of claim 14, wherein the multi-panel mediainterface is to: receive an instruction from the viewer to rate aviewable program; and associate a star rating provided by the viewerwith the viewable program.
 16. The system of claim 15, wherein theinstruction to rate the viewable program is in response to the viewerengaging one or more keys on a remote control device.
 16. The system ofclaim 15, comprising a communications module to send a recommendation ofthe viewable program to a set top box associated with the contact of theviewer in response to the instruction from the viewer to rate theviewable program.
 17. The system of claim 15, comprising acommunications module to send the star rating provided by the viewer toa server for aggregation.
 18. The system of claim 10, wherein thedecision module is to display, on the viewer's display device, a realtime notification of the received recommendation.
 19. The system ofclaim 18, wherein the viewer's display device is a television.
 20. Amachine-readable medium having instruction data to cause a machine to:receive, at a viewer's system, a recommendation for a content item froma contact of a viewer; determine a value indicating a trust levelassigned to the contact by the viewer; determine an action to beperformed at the viewer's system, based on the recommendation and on oneor more rules; accept the recommendation as an instruction to performthe action, and initiate the action at the viewer's system.